-
Notifications
You must be signed in to change notification settings - Fork 127
CSPL-3549 Splunk Operator Enhancement – Ingestion and Indexing Separation #1550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
ca230a9 to
eb21049
Compare
eb21049 to
2cca0d7
Compare
Pull Request Test Coverage Report for Build 21912466524Details
💛 - Coveralls |
d3779b0 to
44349fa
Compare
3b2cf1c to
5cad7f9
Compare
…est-index Feature/CSPL-4360 Secret reference for Index & Ingestion separation
…-2-crs CSPL-4358 Split BusConfiguration CR into 2 CRs - Queue and ObjectStorage
|
CLA Assistant Lite bot CLA Assistant Lite bot All contributors have signed the COC ✍️ ✅ |
|
CLA Assistant Lite bot: I have read the CLA Document and I hereby sign the CLA 1 out of 2 committers have signed the CLA. |
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
|
I have read the Code of Conduct and I hereby accept the Terms |
|
recheck |
|
|
||
| // If queue is updated | ||
| if cr.Spec.QueueRef.Name != "" { | ||
| if secretChanged || serviceAccountChanged { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think we need to worry about changes to the serviceAccount name or role binding itself. IRSA is external to Splunk and operates at the pod level to provide temporary AWS credentials. As long as the pod is correctly annotated and associated with the IAM role, IRSA will continue to function independently of Splunk’s internal logic.
Separately, and unrelated to Ingestion and Indexing separation, we should consider what happens if the AWS secret changes in the SmartStore configuration. That scenario also requires attention. If object storage credentials are updated, we need a well-defined mechanism to ensure the new credentials are picked up safely and consistently.
Given these cases, the restart logic needs to be revisited. Instead of implementing custom coordination logic inside the controller, we should rely on Kubernetes-native mechanisms. For example:
- Let Kubernetes make eviction decisions based on Pod Disruption Budgets.
- Use standard StatefulSet rolling restart behavior where appropriate.
- Ensure that any SmartStore configuration changes are applied via Ansible and/or init containers during pod restart.
The goal should be to keep the operator lightweight and defer restart orchestration to Kubernetes wherever possible, rather than embedding complex restart coordination inside the controller.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SmartStore is not implemented to Index and Ingestion separation, so that's a separate case as mentioned by you. We might want to get back to this topic in the nearest future.
Yes, we need to revisit the restart implementation. I created a task as asked by you and we might want to look into this soon.
0c57283 to
6f08c09
Compare
6f08c09 to
7d7a55e
Compare
Depends on
Description
This PR implements a separation between ingestion and indexing services within the Splunk Operator for Kubernetes. The goal is to enable the operator to independently manage the ingestion service while maintaining seamless integration with the indexing service.
Key Changes
Testing and Verification
Related Issues
Jira Epic: https://splunk.atlassian.net/browse/CSPL-3549
PR Checklist